home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Hot Mix 17
/
Hot Mix 17.iso
/
HM17_SGI
/
research
/
examples
/
insight
/
plugins
/
myppm.pro
< prev
next >
Wrap
Text File
|
1997-07-08
|
4KB
|
107 lines
; $Id: myppm.pro,v 1.2 1997/03/21 22:17:49 rob Exp $
;
; Copyright (c) 1997, Research Systems, Inc. All rights reserved.
; Unauthorized reproduction prohibited.
;+
; FILE:
; myppm.pro
;
; PURPOSE:
; This file contains an example File PlugIn that handles PPM/PGM files.
;
; CONTENTS:
; CALLBACK ROUTINES
; pro ReadMyPPM - reads a file
; pro WriteMyPPM - writes a file
;
; REGISTRATION FUNCTION
; fun MyPPM - registers the PlugIn
;
;-
; *****************************************************************************
; CALLBACK ROUTINES
; *****************************************************************************
; -----------------------------------------------------------------------------
;
; Purpose: File PlugIn Read Routine.
;
pro ReadMyPPM, $
filename, $ ; IN: name of file to read
name, $ ; IN: suggested data name based on file name
TAIL=tail, $ ; IN: (opt) filename w/out directory, e.g., myfile.ppm
GROUP=wGroup, $ ; IN: (opt) ID of widget group leader
_EXTRA=extra ; IN: information to pass to INSPUT
; Read the file.
;
READ_PPM, filename, image
; Set the data description.
;
description = 'Read from "' + tail + '" PPM/PGM file.'
; Put the data into the Data Manager.
;
INSPUT, $
image, $ ; the data to put
/IMAGE, $ ; input is an image
NAME = name, $ ; the name to give it
DESCRIPTION = description, $ ; the data description
GROUP = wGroup, $ ; widget group leader
_EXTRA = extra ; extra information
end ; ReadMyPPM
; -----------------------------------------------------------------------------
;
; Purpose: File PlugIn Write Routine.
;
pro WriteMyPPM, $
filename, $ ; IN: name of file to write to
name, $ ; IN: name of data item to write, e.g., mydata
TAIL=tail, $ ; IN: (opt) filename w/out directory, e.g., myfile.ppm
GROUP=wGroup, $ ; IN: (opt) ID of widget group leader
_EXTRA=extra ; IN: information to pass to INSPUT
; Get the data from the Data Manager.
;
image = INSGET( $
name, $ ; data item to write
GROUP = wGroup, $ ; widget group leader
_EXTRA = extra) ; extra information
; Write the data to the file.
;
WRITE_PPM, filename, image
end ; WriteMyPPM
; *****************************************************************************
; REGISTRATION FUNCTION
; *****************************************************************************
; -----------------------------------------------------------------------------
;
; Purpose: Register the file PlugIn.
;
function MyPPM
; Return the File PlugIn Registration Structure.
;
RETURN, { $
type: 'File_PlugIn', $ ; PlugIn type
title: 'My PPM/PGM Format', $ ; PlugIn title
purpose: 'Handle PPM/PGM files.', $ ; PlugIn purpose
read_proc: 'ReadMyPPM', $ ; read callback
write_proc: 'WriteMyPPM', $ ; write callback
file_ext: ['ppm','pgm'], $ ; extension(s) (no period)
version: '5.0', $ ; IDL version
revision: '1.0' $ ; PlugIn version
}
end ; MyPPM
; -----------------------------------------------------------------------------